;; extends

; Prettier operators

("!=" @operator (#set! conceal "≠"))
("&" @operator (#set! conceal "∩"))
(binary_operator ("*" @operator (#set! conceal "⋅")))
("**" @operator (#set! conceal "^"))
("//" @operator (#set! conceal "÷"))
("<<" @operator (#set! conceal "«"))
("<=" @operator (#set! conceal "≤"))
("=" @operator (#set! conceal "≔"))
("==" @operator (#set! conceal "="))
(">=" @operator (#set! conceal "≥"))
(">>" @operator (#set! conceal "»"))
("^" @operator (#set! conceal "△"))
("|" @operator (#set! conceal "∪"))

; Magic methods

((identifier) @function.method (#eq? @function.method "__add__") (#set! conceal "+"))
((identifier) @function.method (#eq? @function.method "__and__") (#set! conceal "∩"))
((identifier) @function.method (#eq? @function.method "__cmp__") (#set! conceal "⋚"))
((identifier) @function.method (#eq? @function.method "__eq__") (#set! conceal "="))
((identifier) @function.method (#eq? @function.method "__floordiv__") (#set! conceal "÷"))
((identifier) @function.method (#eq? @function.method "__ge__") (#set! conceal "≥"))
((identifier) @function.method (#eq? @function.method "__gt__") (#set! conceal ">"))
((identifier) @function.method (#eq? @function.method "__invert__") (#set! conceal "~"))
((identifier) @function.method (#eq? @function.method "__le__") (#set! conceal "≤"))
((identifier) @function.method (#eq? @function.method "__lshift__") (#set! conceal "«"))
((identifier) @function.method (#eq? @function.method "__lt__") (#set! conceal "<"))
((identifier) @function.method (#eq? @function.method "__mod__") (#set! conceal "%"))
((identifier) @function.method (#eq? @function.method "__mul__") (#set! conceal "⋅"))
((identifier) @function.method (#eq? @function.method "__ne__") (#set! conceal "≠"))
((identifier) @function.method (#eq? @function.method "__neg__") (#set! conceal "-"))
((identifier) @function.method (#eq? @function.method "__or__") (#set! conceal "∪"))
((identifier) @function.method (#eq? @function.method "__pos__") (#set! conceal "+"))
((identifier) @function.method (#eq? @function.method "__pow__") (#set! conceal "^"))
((identifier) @function.method (#eq? @function.method "__rshift__") (#set! conceal "»"))
((identifier) @function.method (#eq? @function.method "__sub__") (#set! conceal "-"))
((identifier) @function.method (#eq? @function.method "__truediv__") (#set! conceal "/"))
((identifier) @function.method (#eq? @function.method "__xor__") (#set! conceal "△"))
